SlideShare a Scribd company logo
1 of 14
09 GUIs HUREE University ICT Instructor: M.J LEE
Contents Abstract Window Toolkit Container Frame Panel Layout Manager Flow Layout Border Layout Grid Layout 2
AWT(Abstract Window Toolkit) AWT: the group of classes for GUI in Java 3 ,[object Object]
Component / Container,[object Object]
Panel Use add() method, when adding components Panel can’t be displayed by itself. Therefore, it should be included in Frame Some components are disposed in Panel by Layout Manager 5
6 import java.awt.*;  public class FrameWithPanelextends Frame {  	public FrameWithPanel (String str) {  		super(str);  	}  } Public class FrameWithPanelMain() { 	public static void main (String args[]) { FrameWithPanelfr = new FrameWithPanel(“Panel in Frame"); 		Panel pan = new Panel();    fr.setSize(200,200); 		// a frame fr.setBackground(Color.blue);  fr.setLayout(null);    pan.setSize(100,100); 		// a panel pan.setBackground(Color.yellow);    fr.add(pan);   // put the panel in the frame fr.setVisible(true);  }  } Panel
Layout Manager FlowLayout 	Panel, default Layout manager of Applet BorderLayout 	Window, default Layout manager of Frame GridLayout CardLayout GridBagLayout 7
8 import java.awt.*;  public class ExGui {  	private Frame f; 		// declarationFrame 	private Button b1; 	// declaration Button 	private Button b2; 	public void go() {  		f = new Frame("GUI example");  f.setLayout(new FlowLayout());  	b1 = new Button(“Yes”);  	b2 = new Button(“No");  f.add(b1); 		// append Button on Frame f.add(b2);  f.pack(); 		// instead of “.setSize()” f.setVisible(true);  	}  } public static ExGuiMain() { 	public static void main(String args[]) {  ExGuiguiWindow = new ExGui();  guiWindow.go();  	} } 1. Flow Layout
Layout Manager –1.Flow Layout At above example, which didn't inherit Frame, declared new frame in the class Properties, Flow Layout Manager is a default layout manager of Panel depose components from left to right! depose components at the middle of Frame, as default decide the size of components by itself It is possible to exchange attributes by using constructor 9 setLayout(new FlowLayout(FlowLayout.RIGHT, 20, 40))
Layout Manager –1.Flow Layout Components are disposed at right side. Gap of left and right between components Gap of top and bottom between components (unit: pixel) 10 setLayout(new FlowLayout(FlowLayout.RIGHT, 20, 40)) 1 2 3
11 import java.awt.*;  public class MyFlow {  	private Frame f;  	private Button button1, button2, button3;  	public void go() {  		f = new Frame("Flow Layout"); f.setLayout(new FlowLayout());  		button1 = new Button("Ok"); 	 		button2 = new Button("Open"); 	 		button3 = new Button("Close"); 					f.add(button1);  f.add(button2);  f.add(button3);  f.setSize(100,100);  f.setVisible(true); 	}  } Public class MyFlowMain() { 	public static void main(String args[]) {  MyFlowmflow = new MyFlow();  mflow.go();  	}  }  1. Flow Layout
12 import java.awt.*; public class ExGui2 {  	private Frame f;  	private Button bn, bs, bw, be, bc;  	public void go() {  		f = new Frame("Border Layout");  bn = new Button("B1"); bs = new Button("B2"); bw = new Button("B3"); be = new Button("B4"); bc = new Button("B5"); f.add(bn, BorderLayout.NORTH);  f.add(bs, BorderLayout.SOUTH);  f.add(bw, BorderLayout.WEST); f.add(be, BorderLayout.EAST); f.add(bc, BorderLayout.CENTER);  f.setSize(200,200); f.setVisible(true); 	}  	public static void main(String args[]) {  		ExGui2 guiWindow2 = new ExGui2();  		guiWindow2.go();  	} } 2. Border Layout
13 2. Grid Layout import java.awt.*;  public class TestGrid {  	private Frame f; 	private Button b1, b2, b3, b4, b5, b6; 	public void go() {  	f = new Frame(“Grid Layout"); f.setLayout (new GridLayout(3,2)); b1 = new Button("1"); b2 = new Button("2"); b3 = new Button("3"); b4 = new Button("4");  b5 = new Button("5"); b6 = new Button("6");  f.add(b1);  f.add(b2); f.add(b3); f.add(b4); f.add(b5); f.add(b6); f.pack(); f.setVisible(true);  	}  	public static void main(String args[]) {  TestGrid grid = new TestGrid();  grid.go();  	} }
Layout Manager –3.Grid Layout Add(): components are disposed from left to right, upside to bottom The size of each cell, which is divided by Grid Layout Manager, is same. The number of cells can be defined when they are created with Constructor. f.setLayout (new GridLayout(3,2)); 14

More Related Content

Similar to 09 gui

JEDI Slides-Intro2-Chapter19-Abstract Windowing Toolkit and Swing.pdf
JEDI Slides-Intro2-Chapter19-Abstract Windowing Toolkit and Swing.pdfJEDI Slides-Intro2-Chapter19-Abstract Windowing Toolkit and Swing.pdf
JEDI Slides-Intro2-Chapter19-Abstract Windowing Toolkit and Swing.pdfMarlouFelixIIICunana
 
Getting started with GUI programming in Java_1
Getting started with GUI programming in Java_1Getting started with GUI programming in Java_1
Getting started with GUI programming in Java_1Muhammad Shebl Farag
 
ADVANCED JAVA PROGRAMME
ADVANCED JAVA PROGRAMME ADVANCED JAVA PROGRAMME
ADVANCED JAVA PROGRAMME RRamyaDevi
 
GWT Training - Session 2/3
GWT Training - Session 2/3GWT Training - Session 2/3
GWT Training - Session 2/3Faiz Bashir
 
Abstract Window Toolkit
Abstract Window ToolkitAbstract Window Toolkit
Abstract Window ToolkitRutvaThakkar1
 
3_ppt_Layout.pptxgßbdbdbdbsbsbsbbsbsbsbsbsb
3_ppt_Layout.pptxgßbdbdbdbsbsbsbbsbsbsbsbsb3_ppt_Layout.pptxgßbdbdbdbsbsbsbbsbsbsbsbsb
3_ppt_Layout.pptxgßbdbdbdbsbsbsbbsbsbsbsbsbabhishekmathuroffici
 
Java Graphics Programming
Java Graphics ProgrammingJava Graphics Programming
Java Graphics ProgrammingRiccardo Cardin
 
Advance Java Programming (CM5I) 1.AWT
Advance Java Programming (CM5I) 1.AWTAdvance Java Programming (CM5I) 1.AWT
Advance Java Programming (CM5I) 1.AWTPayal Dungarwal
 
AJP Practical Questions with Solution.docx
AJP Practical Questions with Solution.docxAJP Practical Questions with Solution.docx
AJP Practical Questions with Solution.docxRenuDeshmukh5
 
01. introduction to swing
01. introduction to swing01. introduction to swing
01. introduction to swingPrashant Mehta
 
Nouveau document texte-_-_
Nouveau document texte-_-_Nouveau document texte-_-_
Nouveau document texte-_-_Mohamed Mlika
 

Similar to 09 gui (20)

JEDI Slides-Intro2-Chapter19-Abstract Windowing Toolkit and Swing.pdf
JEDI Slides-Intro2-Chapter19-Abstract Windowing Toolkit and Swing.pdfJEDI Slides-Intro2-Chapter19-Abstract Windowing Toolkit and Swing.pdf
JEDI Slides-Intro2-Chapter19-Abstract Windowing Toolkit and Swing.pdf
 
java2 swing
java2 swingjava2 swing
java2 swing
 
Getting started with GUI programming in Java_1
Getting started with GUI programming in Java_1Getting started with GUI programming in Java_1
Getting started with GUI programming in Java_1
 
Oop lecture9 10
Oop lecture9 10Oop lecture9 10
Oop lecture9 10
 
ADVANCED JAVA PROGRAMME
ADVANCED JAVA PROGRAMME ADVANCED JAVA PROGRAMME
ADVANCED JAVA PROGRAMME
 
Chap1 1 4
Chap1 1 4Chap1 1 4
Chap1 1 4
 
GWT Training - Session 2/3
GWT Training - Session 2/3GWT Training - Session 2/3
GWT Training - Session 2/3
 
Awt and swing in java
Awt and swing in javaAwt and swing in java
Awt and swing in java
 
Advanced Java programming
Advanced Java programmingAdvanced Java programming
Advanced Java programming
 
swings.pptx
swings.pptxswings.pptx
swings.pptx
 
Abstract Window Toolkit
Abstract Window ToolkitAbstract Window Toolkit
Abstract Window Toolkit
 
Final_Project
Final_ProjectFinal_Project
Final_Project
 
3_ppt_Layout.pptxgßbdbdbdbsbsbsbbsbsbsbsbsb
3_ppt_Layout.pptxgßbdbdbdbsbsbsbbsbsbsbsbsb3_ppt_Layout.pptxgßbdbdbdbsbsbsbbsbsbsbsbsb
3_ppt_Layout.pptxgßbdbdbdbsbsbsbbsbsbsbsbsb
 
Java Graphics Programming
Java Graphics ProgrammingJava Graphics Programming
Java Graphics Programming
 
Advance Java Programming (CM5I) 1.AWT
Advance Java Programming (CM5I) 1.AWTAdvance Java Programming (CM5I) 1.AWT
Advance Java Programming (CM5I) 1.AWT
 
AJP Practical Questions with Solution.docx
AJP Practical Questions with Solution.docxAJP Practical Questions with Solution.docx
AJP Practical Questions with Solution.docx
 
ch20.pptx
ch20.pptxch20.pptx
ch20.pptx
 
01. introduction to swing
01. introduction to swing01. introduction to swing
01. introduction to swing
 
Nouveau document texte-_-_
Nouveau document texte-_-_Nouveau document texte-_-_
Nouveau document texte-_-_
 
L11cs2110sp13
L11cs2110sp13L11cs2110sp13
L11cs2110sp13
 

Recently uploaded

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 

09 gui

  • 1. 09 GUIs HUREE University ICT Instructor: M.J LEE
  • 2. Contents Abstract Window Toolkit Container Frame Panel Layout Manager Flow Layout Border Layout Grid Layout 2
  • 3.
  • 4.
  • 5. Panel Use add() method, when adding components Panel can’t be displayed by itself. Therefore, it should be included in Frame Some components are disposed in Panel by Layout Manager 5
  • 6. 6 import java.awt.*; public class FrameWithPanelextends Frame { public FrameWithPanel (String str) { super(str); } } Public class FrameWithPanelMain() { public static void main (String args[]) { FrameWithPanelfr = new FrameWithPanel(“Panel in Frame"); Panel pan = new Panel();   fr.setSize(200,200); // a frame fr.setBackground(Color.blue); fr.setLayout(null);   pan.setSize(100,100); // a panel pan.setBackground(Color.yellow);   fr.add(pan); // put the panel in the frame fr.setVisible(true); } } Panel
  • 7. Layout Manager FlowLayout Panel, default Layout manager of Applet BorderLayout Window, default Layout manager of Frame GridLayout CardLayout GridBagLayout 7
  • 8. 8 import java.awt.*; public class ExGui { private Frame f; // declarationFrame private Button b1; // declaration Button private Button b2; public void go() { f = new Frame("GUI example"); f.setLayout(new FlowLayout()); b1 = new Button(“Yes”); b2 = new Button(“No"); f.add(b1); // append Button on Frame f.add(b2); f.pack(); // instead of “.setSize()” f.setVisible(true); } } public static ExGuiMain() { public static void main(String args[]) { ExGuiguiWindow = new ExGui(); guiWindow.go(); } } 1. Flow Layout
  • 9. Layout Manager –1.Flow Layout At above example, which didn't inherit Frame, declared new frame in the class Properties, Flow Layout Manager is a default layout manager of Panel depose components from left to right! depose components at the middle of Frame, as default decide the size of components by itself It is possible to exchange attributes by using constructor 9 setLayout(new FlowLayout(FlowLayout.RIGHT, 20, 40))
  • 10. Layout Manager –1.Flow Layout Components are disposed at right side. Gap of left and right between components Gap of top and bottom between components (unit: pixel) 10 setLayout(new FlowLayout(FlowLayout.RIGHT, 20, 40)) 1 2 3
  • 11. 11 import java.awt.*; public class MyFlow { private Frame f; private Button button1, button2, button3; public void go() { f = new Frame("Flow Layout"); f.setLayout(new FlowLayout()); button1 = new Button("Ok"); button2 = new Button("Open"); button3 = new Button("Close"); f.add(button1); f.add(button2); f.add(button3); f.setSize(100,100); f.setVisible(true); } } Public class MyFlowMain() { public static void main(String args[]) { MyFlowmflow = new MyFlow(); mflow.go(); } } 1. Flow Layout
  • 12. 12 import java.awt.*; public class ExGui2 { private Frame f; private Button bn, bs, bw, be, bc; public void go() { f = new Frame("Border Layout"); bn = new Button("B1"); bs = new Button("B2"); bw = new Button("B3"); be = new Button("B4"); bc = new Button("B5"); f.add(bn, BorderLayout.NORTH); f.add(bs, BorderLayout.SOUTH); f.add(bw, BorderLayout.WEST); f.add(be, BorderLayout.EAST); f.add(bc, BorderLayout.CENTER); f.setSize(200,200); f.setVisible(true); } public static void main(String args[]) { ExGui2 guiWindow2 = new ExGui2(); guiWindow2.go(); } } 2. Border Layout
  • 13. 13 2. Grid Layout import java.awt.*; public class TestGrid { private Frame f; private Button b1, b2, b3, b4, b5, b6; public void go() { f = new Frame(“Grid Layout"); f.setLayout (new GridLayout(3,2)); b1 = new Button("1"); b2 = new Button("2"); b3 = new Button("3"); b4 = new Button("4"); b5 = new Button("5"); b6 = new Button("6"); f.add(b1); f.add(b2); f.add(b3); f.add(b4); f.add(b5); f.add(b6); f.pack(); f.setVisible(true); } public static void main(String args[]) { TestGrid grid = new TestGrid(); grid.go(); } }
  • 14. Layout Manager –3.Grid Layout Add(): components are disposed from left to right, upside to bottom The size of each cell, which is divided by Grid Layout Manager, is same. The number of cells can be defined when they are created with Constructor. f.setLayout (new GridLayout(3,2)); 14